// function* gen() {   // Generator
//   yield 'a';
//   yield 'b';
//   yield 'c';
//   return 'end'
//   yield 'd';
// }

// let g = gen()

// console.log(g.next()); // { value: 'a', done: false }
// console.log(g.next()); // { value: 'b', done: false }
// console.log(g.next()); // { value: 'c', done: false }
// console.log(g.next()); // { value: undefined, done: true }
// console.log(g.next());



function* gen() {
  let o = 1
  let a = yield o++;
  console.log(a);
  let b = yield o++
}
let g = gen()  // 迭代器
console.log(g.next());  
console.log(g.next(11));  



// let g2 = gen()
// console.log(g.next());  // { value: 2, done: false }
// console.log(g2.next());  // { value: 1, done: false }
// console.log(g.next());  // { value: 3, done: false }